package com.xmb.common.service.wx;

import com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.xmb.common.entity.XmbWechatPaymentRefund;
import org.apache.rocketmq.common.message.Message;

/**
 * Created by lyndon on 2019/3/27.
 * 微信退款成功通知
 */
public interface WxPayRefundNotifyService {


    void payRefundNotify(String xmlData) throws WxPayException;

    XmbWechatPaymentRefund updateXmbWechatPaymentRefund(WxPayRefundNotifyResult refundNotifyResult);

    /**
     * 获取通知业务系统的消息
     * @param wechatPaymentRefund
     */
    Message getNotifyBusinessMsg(XmbWechatPaymentRefund wechatPaymentRefund);

    /**
     *  获取需要延迟检查的消息
     * @param wechatPaymentRefund
     */
    Message getDelayCheckMsg(XmbWechatPaymentRefund wechatPaymentRefund);

    /**
     * 发送消息
     * @param sendMsg
     */
    void sendMsg(Message sendMsg);

}
